$(function () {
    layui.use(['form', 'layer', 'jquery', 'laydate'], function () {
        $ = layui.jquery;
        var form = layui.form,
            layer = layui.layer;
        var laydate = layui.laydate;
        //执行一个laydate实例
        laydate.render({
            elem: '#birthday', //指定元素
            trigger: 'click'
        });
        // 得到id，去数据库查询数据，将数据赋值给表单
        let userId = sessionStorage.getItem("userId");
        $.ajax({
            url: '/back/user/findById',
            data: {id: userId},
            type: 'get',
            dataType: 'json',
            success: function (res) {
                //    赋值
                console.log(res);
                setData(res.data);
            }
        })

        function setData(data) {
            form.val('form', {
                "username": data.username // "name": "value"
                , "sex": data.sex
                , "phone": data.phone //复选框选中状态
                , "email": data.email //开关状态
                , "birthday": data.birthday
                , 'remark': data.remark
            });
            // 爱好：
            //1.循环爱好表单，得到爱好表单
            //2.循环Java后台爱好的数据
            let hobby = data.hobby;
            if (hobby != null) {
                let hobbys = hobby.split(",");
                $("input[type=checkbox][name=hobby]").each(function (index, obj) {
                    // console.log($(obj).attr('title'))
                    // 因为这里面有很多个值，我们只需要其中选中的值
                    for (let i = 0; i < hobbys.length; i++) {
                        if (hobbys[i] == $(obj).attr('title')) {
                            $(obj).attr("checked", "checked");
                        }
                    }
                });
                //    对于爱好是一个数组，则也可能需要手动赋值
            }
            $("input[type=radio][name=enable][value=" + data.enable + "]").attr("checked", "checked");
            // $("#remark").val(res.data.remark);
            form.render();//重新渲染表单
        }

        //自定义验证规则
        form.verify({
            username: [/^[A-z0-9]{4,16}/, "用户名只能是字符加数字必须4到16位"],
            phone: [/^1[389]\d{9}$/, "请输入正确的手机号"],
            pass: [/(.+){6,12}$/, '密码必须6到12位'],
            repass: function (value) {
                if ($('#password').val() != $('#L_repass').val()) {
                    return '两次密码不一致';
                }
            }
        });

        //监听提交
        form.on('submit(update)',
            function (data) {
                data = data.field;
                // console.log(data);
                let hobby = [];
                //因为对于爱好是多选框，layui自己拿不到数据，所以，需要手动拿数据
                $("input[type=checkbox][name=hobby]:checked").each(function (index, obj) {
                    // console.log(index, obj);
                    // console.log($(obj).attr('title'))
                    // 因为这里面有很多个值，我们只需要其中选中的值
                    hobby.push($(obj).attr('title'));
                });
                data.hobby = hobby.toString();
                data.id = sessionStorage.getItem("userId")
                // console.log(data)
                //发异步，把数据提交给java
                $.ajax({
                    url: '/back/user/update',
                    data: data,
                    type: 'post',
                    dataType: 'json',
                    success: function (res) {
                        if (res.count > 0) {
                            layer.alert("编辑成功", {
                                    icon: 6
                                },
                                function () {
                                    //关闭当前frame
                                    xadmin.close();

                                    // 可以对父窗口进行刷新
                                    xadmin.father_reload();
                                });
                        } else {
                            layer.alert("编辑用户失败");
                        }
                    }
                })

                return false;
            });

    });
})